package com.bujunjie.study.realtime.dwd.db.split.model.vo;

import com.bujunjie.study.realtime.common.model.vo.CommonInfoVO;
import com.bujunjie.study.realtime.common.model.vo.PageInfoVO;
import com.bujunjie.study.realtime.dwd.db.split.model.sink.ErrorInfoModel;
import com.bujunjie.study.realtime.dwd.db.split.model.sink.StartInfoModel;
import lombok.Data;

import java.util.List;

/**
 * <p>系统日志模型
 * <ol>
 *     <li>
 *         {
 * 	"common": {
 * 		"ar": "2",
 * 		"ba": "vivo",
 * 		"ch": "xiaomi",
 * 		"is_new": "1",
 * 		"md": "vivo x90",
 * 		"mid": "mid_64",
 * 		"os": "Android 13.09",
 * 		"sid": "336a2af9-4394-4310-bdab9ef9cc35b80e",
 * 		"uid": "376",
 * 		"vc": "v2.1.111"
 *        },
 * 	"page": {
 * 		"during_time": 8822,
 * 		"item": "1101",
 * 		"item_type": "order_id",
 * 		"last_page_id": "order",
 * 		"page_id": "payment"
 *    },
 * 	"ts": 1654668567000
 * }
 *     </li>
 * </ol>
 * </p>
 *
 * @author bu.junjie
 * @version 1.0.0
 * @createTime 2025/9/16 9:08
 */
@Data
public class BaseLogVO {

    /**
     * 公共信息
     */
    private CommonInfoVO common;


    /**
     * 页面信息
     */
    private PageInfoVO page;

    /**
     * 错误信息
     */
    private ErrorInfoModel err;

    /**
     * 启动时间
     */
    private StartInfoModel start;

    /**
     * 动作信息集合
     */
    private List<ActionItemVO> actions;

    /**
     * 曝光信息
     */
    private List<DisPlayItemVO> displays;


    /**
     * 当前的时间，毫秒级别的时间戳
     */
    private Long ts;

}
